package cn.edu.ncut.cs.springboot.petmanagementsystem.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * 服务预约表实体类
 */
@Data
@TableName("service_reservations")
public class ServiceReservation {

    /**
     * 预约ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 预约单号
     */
    private String reservationNo;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 服务类型ID
     */
    private Long serviceTypeId;

    /**
     * 宠物ID
     */
    private Long petId;

    /**
     * 预约日期
     */
    private LocalDate reservationDate;

    /**
     * 预约时间
     */
    private LocalTime reservationTime;

    /**
     * 指定员工ID
     */
    private Long employeeId;

    /**
     * 特殊要求
     */
    private String specialRequirements;

    /**
     * 总金额
     */
    private BigDecimal totalAmount;

    /**
     * 预约状态：1-待确认，2-已确认，3-进行中，4-已完成，5-已取消
     */
    private Integer reservationStatus;

    /**
     * 完成时间
     */
    private LocalDateTime completionTime;

    /**
     * 用户评分（1-5）
     */
    private Integer rating;

    /**
     * 用户评价
     */
    private String review;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}